const useDictStore = defineStore('dict', {
  // 状态
  state: () => ({
    // 土动力实验参数
    soilDynamicOptions: [
      {
        value: 1,
        label: "存在",
      },
      {
        value: 0,
        label: "不存在",
      }
    ],
    // 数据类别，候选值：安评成果库、区评成果库、小区划成果库，数据管理系统
    dataTypeOptions: [
      {
        value: '安评成果库',
        label: '安评成果库',
      },
      {
        value: '区评成果库',
        label: '区评成果库',
      },
      {
        value: '小区划成果库',
        label: '小区划成果库',
      },
      {
        value: '数据管理系统',
        label: '数据管理系统',
      },
      {
        value: '普查数据',
        label: '普查数据',
      }
    ],
    // 场地类别，候选值：I1类场地、Ⅱ类场地、Ⅲ类场地、Ⅳ类场地、I0场地
    siteTypeOptions: [
      {
        value: '1',
        label: 'I1类场地',
      },
      {
        value: '2',
        label: 'Ⅱ类场地',
      },
      {
        value: '3',
        label: 'Ⅲ类场地',
      },
      {
        value: '4',
        label: 'Ⅳ类场地',
      },
      {
        value: '10',
        label: 'I0场地',
      }
    ],
    // 剪切波实测值选项
    measuredValuesOptions: [
      {
        value: 1,
        label: "存在",
      },
      {
        value: 0,
        label: "不存在",
      }
    ],
  }),
  // 方法
  actions: {
    // 根据数组中的两个字段,把数组转换成map结构
    ArrayToMap(arr, key = 'value', content = 'label') {
      let tMap = {};
      if (arr?.length) {
        for (let [index, elem] of arr.entries()) {
          tMap[elem[key]] = elem[content];
        }
      }
      return tMap;
    },
  }
})

export default useDictStore;
